Data Displays in a Tile-Based User Interface

ABSTRACT

A computing device may present a display of tiles to present therein data feeds, analytics, news items and so on. A user may expand a tile to show more additional details of data in a tile. The additional data details in the expanded tile may comprise different detailed data than the data in the original tile.

CROSS REFERENCE TO RELATED APPLICATIONS

The present disclosure relates to commonly owned, concurrently filed U.S. application Ser. No. 13/931,592, filed Jun. 28, 2013, entitled “PINCH GESTURES IN A TILE-BASED USER INTERFACE,” the content of which is incorporated herein by reference in its entirety for all purposes.

BACKGROUND

Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.

Tile-based user interfaces (UIs) are becoming increasingly common in mobile computing devices. A tile-based application may present its UI in a tile that is displayed among several other tiles in the display area of an output device. The amount of information available from a tile is limited because the tile typically occupies only a small portion of the display area. Similarly, the functionality that is available through a tile is limited due to the small size of the tile. Access to the detailed information and full functionality of a tile-based application requires the user to bring up a full-screen view of the application's UI.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a system in accordance with the present disclosure.

FIG. 2 illustrates a high level block diagram of an implementation in accordance with the present disclosure.

FIGS. 3A and 3B illustrate examples of charts.

FIGS. 4A, 4B, and 4C illustrate examples of pinch gestures performed on tiles in accordance with the present disclosure.

FIGS. 4D-4H illustrate various gestures that can be performed on tiles.

FIGS. 5A, 5B, 5C, and 5D illustrate tile resizing in accordance with the present disclosure.

FIGS. 6, 6A, 6B, and 6C illustrate an example of chart resizing in accordance with the present disclosure.

FIGS. 7A and 7B illustrate another example of chart resizing in accordance with the present disclosure.

FIGS. 8A and 8B illustrate yet another example of chart resizing in accordance with the present disclosure.

FIGS. 9A, 9B, and 9C show processing in accordance with some embodiments of the present disclosure.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerous examples and specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be evident, however, to one skilled in the art that the present disclosure as expressed in the claims may include some or all of the features in these examples alone or in combination with other features described below, and may further include modifications and equivalents of the features and concepts described herein.

FIG. 1 shows a user environment in accordance with embodiments of the present disclosure. Users may access a server system 12 over a suitable communication network using their computing devices 102. In some embodiments, for example, the users may be workers in an organization such as a business enterprise. The server systems 12 may be various backend systems in the enterprise to support the user's efforts in the enterprise. The server systems 12 may include, for example, customer relationship management (CRM) systems, enterprise resource planning (ERP) systems, and so on. The backend systems 12 may execute various applications 14 in order to provide information access and other services to users who need to access the backend systems 12.

Users may access applications 14 running on the backend systems 12 using their computing devices 102. Applications 14 may access services provided by the backend systems 12 using, for example, web interface technology such as the web services description language (WSDL), the simple object access protocol (SOAP), and so on. Typical computing devices 102 include desktop computers, laptop computers, and the like. In accordance with the present disclosure, the backend systems 12 may be accessed using mobile computing devices 102 a, 102 b, such as computing tablets, smart phones, and the like.

“Tiling” may be used to allow users to have concurrent access to several applications at a time on their computing devices 102. For example, computing device 102 a shows a display having several tiles 122 presented in the display area 106 of the display device 104. Tiles 122 are typically displayed in the display area 106 in non-overlapping fashion.

Each tile 122 may be associated with an application 14, for example, to provide feeds, analytics, social networking, news, etc. Some tiles (e.g., tile 122 a in computing device 102 a) may present data generated by their respective applications in the form of charts. In accordance with the present disclosure, a user may change the size of a tile 122 a to view more (or less) information presented by the chart, for example, by presenting a different chart in the re-sized tile 122 b.

The backend systems 12 may provide chart data 112 to the computing device 102 that comprises the different data presented by the different charts. In some embodiments, the chart data 112 may be received from the backend systems 12 and cached in local memory in the computing device 102 to provide a fast the response time in presenting the chart in a resized tile. In other embodiments, the chart data 112 may be provided in real time (on the fly) from the backend systems 12 as tiles are re-sized. This aspect of the present disclosure will be discussed in more detail below.

Referring to FIG. 2, an illustrative implementation of computing device 102 in accordance with the present disclosure may include a computing part 202 having a processing unit 212, a system memory 214, and a system bus 211. The system bus 211 may connect various system components including, but not limited to, the processing unit 212, the system memory 214, an internal data storage device 216, and a communication interface 213. In a configuration where the computing device 102 is a mobile device (e.g., smartphone, computer tablet), the communication interface 213 may be an interface for wireless communication such as over a cellular network, using a WiFi® connection, etc.

The processing unit 212 may comprise a single-processor configuration, or may be a multi-processor architecture. The system memory 214 may include read-only memory

(ROM) and random access memory (RAM). The internal data storage device 216 may be an internal hard disk drive (HDD), a magnetic floppy disk drive (FDD, e.g., to read from or write to a removable diskette), an optical disk drive (e.g., for reading a CD-ROM disk, or to read from or write to other high capacity optical media such as the DVD), and so on. In a configuration where the computing device 102 is a mobile device, the internal data storage 216 may be a flash drive.

The internal data storage device 216 and its associated non-transitory computer-readable storage media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. Although the description of computer-readable media above refers to an HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it is noted that other types of media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used, and further, that any such media may contain computer-executable instructions for performing the methods disclosed herein.

The system memory 214 and/or the internal data storage device 216 may store a number of program modules, including an operating system (OS) 232, one or more application programs 234, data 236, and other program/system modules 238. For example, the application programs 234, which when executed, may cause the computing part 202 to perform method steps disclosed herein. The application programs 234 and/or the OS 232 may include a tile manager for managing the display of tiles 122 in the display area 106. In addition, in some embodiments, the data 236 stored in system memory 214 may include chart data 112 provided by the backend systems 12 and cached in the computing device 102.

In some embodiments, access to the computing part 202 may be provided by an input component 244 (e.g., keyboard, mouse, etc.) and an output component 246. In some embodiments, where the computing device 102 is mobile device, the input 244 and output 246 may be components of a touch-sensitive device. In other embodiments, such as in a laptop computer, the input 244 may include a touch pad device and the output 246 may be a display panel.

Though the idea of charts are well known, a brief discussion about charts, nonetheless, will be made to a more complete understanding of the present disclosure. As used herein, the term “chart” will be understood to refer to diagrammatic representations of data. In some embodiments, the data that is represented by a chart is analytics data, which refers to source data that has been subjected to one or more analytics (computations, computed data, etc.). For example, the source data may be sales receipts of a store collected during the week. An example of analytics that may be generated from the source data may include daily receipts, where the analytics involves grouping the receipts by day and then computing the sum of each day's receipts.

Charts may include graphs, bar charts, pie charts, line charts, data tables, and so on. Charts typically include labels to inform the user as to the nature of the data that is being represented by the chart. Some charts may be annotated in addition to the labels to convey additional information about the data. FIG. 3A, for example, shows a graph, and FIG. 3B shows an example of a bar chart.

In accordance with the present disclosure, a tile (e.g., 122 a) that is displayed in the display area 106 of the computing device 102 may present a chart that represents data generated from “source data” that is associated with the tile. For example, the application 14 may be a sales forecasting application that uses sales and other data for generating a sales forecast, which is then presented in the tile 122 a. The sales and related data would be the source data that is associated with the tile 122 a.

When the tile 122 a is resized to a larger size (e.g., 122 b), the resized tile is still associated with the source data, but may present a chart that represents different data generated from that source data. For example, different computations may be performed for different tile sizes, the source data may be grouped differently, and so on. In some embodiments, the chart presented in the expanded tile 122 b may include additional data or information that was not presented in the smaller tile 122 a.

Referring to FIGS. 4A-4C, illustrative examples of tile resizing are shown for a touch screen display device. As conventionally known, finger gestures may serve as a source of user input on the touch screen display device. In some embodiments, two-finger gestures called “pinch” may be used to resize a tile from its original (default) size to a larger size, and vice-versa. FIG. 4A illustrates an example of a horizontal pinch gesture. The figure shows a horizontal pinch out (reverse pinch) gesture made on the tile 122 a to enlarge the size of the tile 122 b in the horizontal direction (width). Likewise, a horizontal pinch gesture (pinch in) may be made on the tile 122 b to reduce the size of the tile 122 a in the horizontal direction. FIG. 4B illustrates a vertical pinch out gesture made on tile 122 a to enlarge the tile 122 b in the vertical direction (height), and a vertical pinch gesture to reduce the tile 122 a in the vertical direction. In some embodiments, a diagonal pinch as shown in FIG. 4C may be made on the tile to enlarge or reduce the tile along a diagonal direction.

In some embodiments, the re-sizing may be constrained to pre-defined incremental (step) sizes, where the number of increments can be one or more. Thus, each gesture may change the tile size by one increment. For example, enlargement may occur at 50% size increments, where the next size is changed by 50% from the previous size. Thus, a first horizontal pinch out gesture may expand the width of the tile by 50%, a second horizontal pinch out gesture may expand the tile by another 50%, and so on. Likewise a pinch in gesture may reduce a large tile back to its original size in 50% size increments.

It will be appreciated that the finger gestures need not be two-finger pinch gestures. In other embodiments, any one-, two- or more finger gestures may be used to resize a tile. Referring to FIGS. 4D-4H, a non-exhaustive list of alternative finger gestures is shown, including a claw gesture (FIG. 4D), a swiping motion with one or more fingers (FIG. 4E), one or more taps (FIG. 4F), circular gestures (FIG. 4G), semi-circular gestures (FIG. 4H), and so on.

Referring to FIGS. 5A and 5B, an illustrative example of tiles displayed in display area 106 of computing device 102 shows a typical arrangement of non-overlapping tiles. Each tile may be initially displayed at a default size. In some embodiments, a single default size may be applied to all tiles. In other embodiments, each tile may have its own default size. The default size may be any suitable shape such as a square, rectangle, and so on.

The display area 106 shows only a portion of all the tiles in a larger logical “grid” of tiles. Each tile in the grid may be associated with an application 14 (e.g., executing on the backend systems 12) and presents output generated by that application. Other tiles in the grid that are beyond the viewing area of display area 106 may be brought into view by dragging another portion of the grid into the viewing area. When a user moves a tile (e.g., using a drag and drop gesture) to another location, other tiles in the grid may be re-arranged in the grid to accommodate the tile's new location. When a user resizes a tile 502 a (FIG. 5A) to a larger size (e.g., tile 502 b, FIG. 5B), other tiles may be displaced and re-arranged in the grid to accommodate the resized tile. FIG. 5B, for example, shows that the resized tile 502 b has displaced tiles 504 and 506 horizontally to the right. Tile 506 is now largely off-screen, showing only a sliver of the tile in display area 106. More generally, tiles in the grid may be displaced in the vertical direction, horizontal direction, or both when a tile is re-sized. The specific re-arrangement of tiles will depend on the algorithm used.

Referring to FIG. 5C and 5D, in some embodiments, when a user resizes a tile 502 a, neighboring tiles may be resized. In some embodiments, tiles adjacent to a resized tile 502 a may automatically resize in response to tile the being resized. In other embodiments, tiles in the neighborhood of a resized tile 502 a (e.g., two tiles away from the resized tile) may automatically resize. In some embodiments, only nearby tiles above and/or below a resized tile will automatically resize if the resizing is in the vertical direction. Similarly, only nearby tiles to the left and/or right of the resized tile will automatically resize if the resizing is in the horizontal direction. Generally, in accordance with the present disclosure, one or more tiles may be moved, resized, or moved and resized when the user resizes a nearby tile.

FIG. 5C shows an example where the tile 502 b has been resized in the vertical direction. In this particular example, the only one adjacent tile 508 (above) has automatically resized to a smaller size in the vertical direction. The amount that the adjacent tile 508 is automatically resized by may be equal to or different from the amount that the tile 502 a has been resized. FIG. 5D shows an example where the tile 502 b has been resized in the horizontal direction. In this particular example, than one tile (e.g., tiles 504 and 506) have automatically resized, in this case in the horizontal direction.

In accordance with the present disclosure, if the user reduces a tile, one or more adjacent or neighboring tiles may automatically be resized to a larger size to fill the space left by the reduced sized tile. This may be illustrated, for example, by viewing FIG. 5C and considering that the user has reduced the size of tile 502 b in the vertical direction. FIG. 5A, for example, may show that the tile 508 (for Appl) has increased in the vertical direction.

In accordance with the present disclosure, when a tile is automatically resized due to the user resizing a nearby tile, the data representation in the automatically resized tile may change in the manner according to the present disclosure as if the user had resized that tile. In other words, if a tile is automatically increased in size, then a more detailed representation of the underlying source data associated with that tile may be presented in that tile. Conversely, if a tile is automatically reduced in size, then a higher level (less detailed) representation of the underlying source data associated with that tile may be presented in that tile.

Referring to FIGS. 6 and 6A-6C, an illustrative example of tile resizing and different data presentations in accordance with the present disclosure will be discussed. FIG. 6 represents an initial (default) size of tile 602 a. The application associated with the tile 602 a may report revenue using the enterprise's annual sales receipts as the source data. The size of the default tile 602 a may only allow for quarterly results to be charted and presented in the tile. Accordingly, the computations performed on the source data may include summing the sales receipts for January to March and representing that sum on the chart as a data point for one quarter's revenue. Similar computations may be made with sales receipts for April to June, July to September, and October to December.

FIG. 6 further illustrates that the default tile size may not allow for the chart to include labels or other information regarding the nature of the chart. For this reason, the default-sized tile 602 a may serve to provide a high level summary of the source data that is associated with the tile.

In accordance with the present disclosure, the user may view more detailed information by resizing the tile 602 a using a pinch out gesture; e.g., horizontal pinch out, vertical pinch out, diagonal pinch out, etc. FIG. 6A shows the tile 602 a as a vertically re-sized tile 602 b. The increased tile size may provide additional display area in the tile 602 b so that additional information, such as axes and labels, can be added to the chart to give the user more information about the data that the chart represents.

It is noted here that the chart in tile 602 b does not constitute a mere scaling of the image of the chart presented in the tile 602 a in FIG. 6; if that were the case, then tile 602 b would simply present a vertically stretched image of the chart in tile 602 a. Rather, the chart presented in tile 602 b includes additional information that is not present in tile 602 a. For example, tile 602 a does not include axes or labeling of the axes, whereas tile 602 b does.

Referring to FIG. 6B, instead of making a vertical pinch out gesture on the default tile 602 a of FIG. 6, the user may make a horizontal pinch out gesture. FIG. 6B shows an example of tile 602 a as horizontally re-sized tile 602 c. Since the tile 602 c is wider, the chart can represent data, computed or otherwise generated from the source data, that is different from the data represented by the chart in tile 602 a. Thus, instead of quarterly figures (tile 602 a), the chart in tile 602 c may represent monthly figures computed from the source data. The computations performed on the source data may include grouping the sales receipts according to month, summing each month's sales receipts, and then presenting the monthly sums in a chart.

It is noted here that the tile 602 c in FIG. 6B presents a chart that represents different data than is represented by the chart of tile 602 a in FIG. 6; the chart in tile 602 c is not merely a resizing of the image of the chart in tile 602 a. The chart in tile 602 a represents quarterly data computed from the annual sales receipts (source data), while the chart in tile 602 c represents monthly totals, which is different data than quarterly totals.

FIG. 6C illustrates an example of a diagonally re-sized tile 602 d in which the tile 602 a has been expanded in both the vertical direction and the horizontal direction. In accordance with the present disclosure, the larger tile 602 d may allow for additional information such as annotations. For example, the chart presented in tile 602 d may include labeling of the data points with the actual monthly revenue figures in addition to chart labels.

The data that is represented by the chart presented in tile 602 a of FIG. 6 is an example of “chart data” (e.g., 112 in FIG. 1). Chart data is data that is computed from the source data (e.g., annual sales receipts) that is associated with the tile in which the chart is presented. Thus, the chart data 112 that is represented by the chart in tile 602 a is quarterly sales data computed from the annual sales receipts associated with that tile. Likewise, the chart data 112 that is represented by the chart in tile 602 c is monthly sales data computed from the annual sales receipts.

The chart data 112 may include additional data such a labels for the chart, labeling of data points, and so on. The chart data 112 may also include meta data which describes how to display the chart, for example the kind of chart (bar chart, pie chart, line graph, etc.), the scale ranges, number of tic marks, number of pie segments, and so on.

FIGS. 7A and 7B illustrate another example of tile resizing of a tile that presents, n this example, a bar chart. Here, the underlying source data that is associated with the tile may be an employee database (e.g., from an HR backend system). The bar chart may represent the distribution of employees among the enterprise's sales offices, manufacturing facilities, and so on. FIG. 7A shows a default tile that presents a high level summary of employee distribution. At this level of detail, for example, the distribution chart may be based on regions of the country. Thus, the total number of employees in region R1 may be computed from the employee database, and similarly for regions R2 and R3.

If the user horizontally expands the tile (e.g., using a horizontal pinch out gesture), the tile may now present a chart using more detailed data generated from the same employee database. FIG. 7B illustrates an example. The bar chart that is presented in the tile of FIG. 7B, being wider, can provide additional detail about employee distribution within each region, R1, R2, R3. For example, the constituent states within each region may be identified, and the number of employees in each state may be charted.

The data that is represented by the chart in FIG. 7A is different from the data that is represented by the chart in FIG. 7B. In the former, the data is computed by grouping the employees by region and summed, whereas in the latter, the data is computed by grouping the employees by states.

Yet another example is illustrated in FIGS. 8A and 8B. A pie chart is presented in the tile in FIG. 8A, showing at a high level sales levels for three categories of goods (Appliances, Garden, Tools) in a store. The data that the chart represents may be computed from the store's sales records (source data). FIG. 8B illustrates an example where the user may expand the tile with a diagonal pinch out gesture. The enlarged pie chart can represent different data than the pie chart of FIG. 8A. For example, the pie chart in FIG. 8B may include additional slices for subcategories of Appliances, Garden, and Tools.

Referring now to FIG. 9A, a high level logical description of processing performed by the computing device 102 in accordance with some embodiments of the present disclosure will now be discussed. It will be appreciated that the specific algorithms and process flows will vary depending on a particular implementation of the present disclosure.

At a block 902, the computing device 102 may receive from the backend systems 12 one or more sets of pre-computed chart data 112 for a tile to be displayed in the display area 106. The pre-computed chart data 112 may include chart data for a chart to be presented in default-sized tile and chart data for each incremental change in tile size. For example, the incremental tile sizes may be predefined, and the charts to be presented in each tile size increment may likewise be predefined. The chart data may then be pre-computed for each chart. The chart data 112 may be stored (cached) in a local memory of the computing device 102, allowing for a quick response time in the display of a resized tile.

At a block 904, the computing device 102 may display the tile in the display area 106. The initial display of the tile may be the default-size of the tile. At block 906, the computing device 102 may select from local memory the cached chart data 112 that is associated with the present size of the tile being displayed. For example, if the tile is at the default size, then the chart data 112 that corresponds to the default-sized tile is selected. At block 908, the computing device 102 may use the selected chart data 112 to generate and present the chart in the tile.

At block 910, the computing device 102 may receive user input; e.g., a gesture, data input, etc. At block 912, if the user input is not a re-sizing kind of input, then the computing device 102 may process the user input accordingly at block 914. Processing may continue at block 910 to receive the next user input.

If at block 912, the user input is a re-sizing gesture (e.g., horizontal pinch out), then at block 916, the computing device 102 may resize the tile in the display area 106, which may include re-arranging and/or resizing other tiles in the display area. Processing proceeds to block 906, where the chart data 112 associated with the new size of the tile may be selected form among the cached chart data. At block 908, the computing device 102 may generated and present a chart in the tile using the selected chart data 112. Processing may then proceed to block 910 to receive the next user input.

The processing in FIG. 9A uses locally cached pre-computed chart data 112. This is typically the preferred configuration because of the quick response time for redisplaying tiles. However, the caching of pre-computed chart data 112 is not necessary. In other embodiments, the chart data 112 may be cached at the backend systems 12 or may even be computed on the fly at the backend systems and communicated to the computing device 102. For example, in some embodiments, the user may be able to specify the parameters of the chart to be presented in the re-sized tile, in which case the chart data 112 may need to be computed on demand to accommodate the user's chart specifications.

FIG. 9B shows a high level logical description of processing performed by the computing device 102 in accordance with other embodiments of the present disclosure. It will be appreciated that the specific algorithms and process flows will vary depending on a particular implementation of the present disclosure.

At block 904, the tile may be displayed in the display area 106 of the computing device 102. The tile may be initially displayed in its default size. At block 922, the computing device 102 may communicate with the backend systems 12 to obtain suitable chart data 112 from the backend systems; for example, by indicating the size (dimensions) of the tile. The backend systems 12 may obtain the chart data 112 from its local cache (block 932) or generate the chart data on the fly (block 914).

At block 924, the computing device 102 may receive the chart data 112 from the backend systems 12 and present a chart in the tile in accordance with the received chart data. User input may then be received at block 908, and processed in block 914 or block 916 as described above.

In some embodiments, the user may use different gestures to use either locally cached pre-computed chart data 112 or chart data 112 produced by the backend systems 12. This may be suitable where the user desires to view current up-to-date data from the backend systems 12.

Accordingly, FIG. 9C shows a high level logical description of processing performed by the computing device 102 in accordance with another embodiment of the present disclosure. It will be appreciated that the specific algorithms and process flows will vary depending on a particular implementation of the present disclosure.

Processing in FIG. 9C is the same as explained in FIG. 9A, up until the YES branch at block 912. If at block 912, the user input is a resizing gesture, then at block 942 a determination is made whether the resizing gesture is of a first type (YES branch) that signifies to select chart data 112 from the local cache, or if resizing gesture is of a second type (YES branch of block 944) that signifies to request and receive chart data 112 from the backend system 12.

In an embodiment, for example, gestures of the first type may include a pinch out gesture to enlarge the tile on which the gesture was made, and a pinch in gesture to reduce the tile. An example of gestures of the second type may include a swiping motion toward the right to enlarge the tile, and a swiping motion toward the left to reduce the tile.

Thus, if the resizing gesture is of the first kind, then at block 946 chart data 112 associated with the size of the tile indicated by the gesture may be selected form among the cached chart data as explained above. If the resizing gesture is of the second kind, then at block 948 a request may be sent to the backend system 12 to generate pre-determined chart data 112 using the latest data stored in the backend system. In some embodiments, the request may trigger an aggregation, report, and search process to generate chart data 112. The request may include parameters that specify the report or aggregation, or specify the data to be used. Processing may then continue with block 916 as discussed above.

The above description illustrates various embodiments of the present disclosure along with examples of how aspects of the particular embodiments may be implemented. The above examples should not be deemed to be the only embodiments, and are presented to illustrate the flexibility and advantages of the particular embodiments as defined by the following claims. Based on the above disclosure and the following claims, other arrangements, embodiments, implementations and equivalents may be employed without departing from the scope of the present disclosure as defined by the claims. 

We claim the following:
 1. A computer-implemented method in a computer device comprising: displaying a plurality of tiles on a display device; and presenting, in a first tile, a data chart representative of data generated from computations performed on source data associated with the first tile, wherein the computations performed depend on a size of the first tile, wherein when the first tile is at a first size, the data chart presented in the first tile is representative of first data generated from the source data using first computations, wherein when the first tile is at a second size, the data chart presented in the first tile is representative of second data different from the first data and generated from the source data using second computations.
 2. The computer-implemented method of claim 1 wherein the first and second computations include groupings the source data that depending on the size of the first tile.
 3. The computer-implemented method of claim 1 wherein the data chart is a graph, bar chart, pie chart, line chart, or a data table.
 4. The computer-implemented method of claim 1 wherein the data chart is a graphical representation of the data generated from the computations performed on the source data.
 5. The computer-implemented method of claim 1 wherein when the first tile is at the first size then a first data chart is presented in the first tile and when the first tile is at the second size then a second data chart different from the first data chart is presented in the first tile.
 6. The computer-implemented method of claim 1 further comprising: displaying the first tile in the display area at the first size including presenting the first data chart in the first tile; receiving user input; and in response to the user input, displaying the first tile in the display area at the second size including presenting the second data chart in the first tile.
 7. The computer-implemented method of claim 6 wherein the user input is a gesture made on a touch sensitive device using one or more fingers.
 8. The computer-implemented method of claim 6 further comprising: receiving another user input; and in response to the other user input, displaying the first tile in the display area at a third size including presenting a third data chart in the first tile representative of data generated from the source data using third computations different from the first computations and the second computations.
 9. The computer-implemented method of claim 1 wherein data generated from the source data using the first computations and data generated from the source data using the second computations are cached in a memory of the computer device.
 10. The computer-implemented method of claim 1 further comprising storing in the computer device first data generated from the source data using the first computations and storing in the computer device second data generated from the source data using the second computations, wherein when the first tile is at the first size, the data chart presented in the first tile is generated using the first data stored in the computer device, wherein when the first tile is at the second size, the data chart presented in the first tile is generated using the second data stored in the computer device.
 11. The computer-implemented method of claim 1 wherein the first data generated using the first computations and the second data generated using the second computations are received from a server system different from the computer device.
 12. A computing device comprising: a processor; a display device; and a data storage device having stored thereon program code, which, when executed by the processor, causes the processor to: display a plurality of tiles on the display device; present, in a first tile, a first chart representative of first data generated from source data associated with the first tile; receive user input; in response to the user input, redisplay the first tile at a different size; and present, in the first tile at the different size, a second chart representative of second data generated from the source data different from the first data.
 13. The computing device of claim 12 wherein the data storage device includes first chart data for producing the first chart and second chart data for producing the second chart.
 14. The computing device of claim 12 wherein the processor accesses first chart data stored in the data storage device to generate and present the first chart, wherein the processor accesses second chart data stored in the data storage device to generate and present the second chart.
 15. The computing device of claim 12 wherein the first data is generated from the source data using first computations and the second data is generated from the source data using second computations different from the first computations.
 16. The computing device of claim 12 wherein the first data is generated by performing computations on first groupings of the source data and the second data is generated by performing the computations on second groupings of the source data that are different from the first groupings.
 17. The computing device of claim 12 wherein the first chart is labeled differently than the second chart.
 18. The computing device of claim 12 wherein the display device includes a touch sensitive layer.
 19. A nonvolatile computer-readable storage medium having stored thereon computer program code, which, when executed by a data processor, causes the data processor to perform steps of: displaying a plurality of tiles on a display device; and presenting, in a first tile, a data chart representative of data generated from computations performed on source data associated with the first tile, wherein the computations performed depend on a size of the first tile, wherein when the first tile is at a first size, the data chart presented in the first tile is representative of first data generated from the source data using first computations, wherein when the first tile is at a second size, the data chart presented in the first tile is representative of second data different from the first data and generated from the source data using second computations.
 20. The nonvolatile computer-readable storage medium of claim 19 wherein the computer program code, which, when executed by a data processor, further causes the data processor to perform steps of: displaying the first tile in the display area at the first size including presenting the first data chart in the first tile; receiving user input; and in response to the user input, displaying the first tile in the display area at the second size including presenting the second data chart in the first tile. 